MongoDB হল একটি NoSQL ডাটাবেস, যা document-oriented ডাটাবেস হিসেবে কাজ করে। MongoDB তে ডেটা BSON (Binary JSON) ফর্ম্যাটে সংরক্ষণ করা হয় এবং এটি scalable, flexible, এবং high-performance ডাটাবেস সলিউশন হিসেবে পরিচিত।
CRUD অপারেশন হল ডেটাবেসের মৌলিক কার্যক্রম, যা Create, Read, Update, এবং Delete এর মধ্যে বিভক্ত। MongoDB-তে CRUD অপারেশন সম্পাদন করতে MongoDB এর Java Driver ব্যবহার করা হয়।
MongoDB CRUD অপারেশন এর মূল ধারণা:
- Create (তথ্য তৈরি করা):
- Insert অপারেশন দ্বারা MongoDB তে নতুন ডকুমেন্ট তৈরি করা হয়।
- ডকুমেন্টটি MongoDB এর কোনো কোলেকশনে ইনসার্ট করা হয়।
- Read (তথ্য পড়া):
- Find অপারেশন দ্বারা MongoDB তে সংরক্ষিত ডকুমেন্টগুলোর মধ্যে অনুসন্ধান করা হয় এবং নির্দিষ্ট ডেটা রিট্রিভ করা হয়।
- এর মাধ্যমে আপনি MongoDB তে থাকা ডকুমেন্টগুলো থেকে নির্দিষ্ট তথ্য পড়তে পারেন।
- Update (তথ্য আপডেট করা):
- Update অপারেশন দ্বারা MongoDB তে বিদ্যমান ডকুমেন্ট আপডেট করা হয়।
- এটি কন্ডিশন মেলে এমন ডকুমেন্টের মান পরিবর্তন করতে ব্যবহৃত হয়।
- Delete (তথ্য মুছে ফেলা):
- Delete অপারেশন দ্বারা MongoDB তে বিদ্যমান ডকুমেন্ট মুছে ফেলা হয়।
MongoDB CRUD অপারেশন উদাহরণ:
1. MongoDB তে Create অপারেশন (Insert):
MongoDB তে নতুন ডকুমেন্ট তৈরি করতে insertOne() বা insertMany() মেথড ব্যবহার করা হয়।
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
public class MongoDBCreateExample {
public static void main(String[] args) {
// MongoDB connection
MongoClient mongoClient = new MongoClient("localhost", 27017);
// Access the database
MongoDatabase database = mongoClient.getDatabase("myDatabase");
// Access the collection
MongoCollection<Document> collection = database.getCollection("users");
// Create a new document
Document user = new Document("name", "John")
.append("age", 30)
.append("email", "john@example.com");
// Insert the document into the collection
collection.insertOne(user);
// Close the connection
mongoClient.close();
}
}
ব্যাখ্যা:
insertOne()মেথডটি একটি নতুন ডকুমেন্ট MongoDB তে ইনসার্ট করতে ব্যবহৃত হয়।- ডকুমেন্টটি MongoDB কোলেকশনে
name,age, এবংemailফিল্ড সহ ইনসার্ট করা হয়।
2. MongoDB তে Read অপারেশন (Find):
MongoDB তে ডকুমেন্ট রিড করতে find() মেথড ব্যবহার করা হয়।
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
public class MongoDBReadExample {
public static void main(String[] args) {
// MongoDB connection
MongoClient mongoClient = new MongoClient("localhost", 27017);
// Access the database
MongoDatabase database = mongoClient.getDatabase("myDatabase");
// Access the collection
MongoCollection<Document> collection = database.getCollection("users");
// Find the first document
Document user = collection.find().first();
// Print the document
System.out.println(user.toJson());
// Close the connection
mongoClient.close();
}
}
ব্যাখ্যা:
find()মেথডটি MongoDB তে সংরক্ষিত সমস্ত ডকুমেন্টের মধ্যে অনুসন্ধান করে।first()মেথড ব্যবহার করে প্রথম ডকুমেন্টটি পাওয়ার জন্য এটি ব্যবহৃত হয়।toJson()মেথড ব্যবহার করে ডকুমেন্টটি JSON ফর্ম্যাটে প্রিন্ট করা হয়।
3. MongoDB তে Update অপারেশন:
MongoDB তে ডকুমেন্ট আপডেট করতে updateOne() বা updateMany() মেথড ব্যবহার করা হয়।
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.Updates;
public class MongoDBUpdateExample {
public static void main(String[] args) {
// MongoDB connection
MongoClient mongoClient = new MongoClient("localhost", 27017);
// Access the database
MongoDatabase database = mongoClient.getDatabase("myDatabase");
// Access the collection
MongoCollection<Document> collection = database.getCollection("users");
// Update the age of user with name 'John'
collection.updateOne(Filters.eq("name", "John"),
Updates.set("age", 35));
// Close the connection
mongoClient.close();
}
}
ব্যাখ্যা:
updateOne()মেথডটি একটি ডকুমেন্টের মান আপডেট করতে ব্যবহৃত হয়।Filters.eq("name", "John")দ্বারাnameফিল্ডে "John" থাকা ডকুমেন্টটি খুঁজে বের করা হয় এবংUpdates.set("age", 35)দ্বারাageফিল্ডটির মান 35 করা হয়।
4. MongoDB তে Delete অপারেশন (Remove):
MongoDB তে ডকুমেন্ট মুছতে deleteOne() বা deleteMany() মেথড ব্যবহার করা হয়।
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import com.mongodb.client.model.Filters;
public class MongoDBDeleteExample {
public static void main(String[] args) {
// MongoDB connection
MongoClient mongoClient = new MongoClient("localhost", 27017);
// Access the database
MongoDatabase database = mongoClient.getDatabase("myDatabase");
// Access the collection
MongoCollection<Document> collection = database.getCollection("users");
// Delete the document where name is 'John'
collection.deleteOne(Filters.eq("name", "John"));
// Close the connection
mongoClient.close();
}
}
ব্যাখ্যা:
deleteOne()মেথডটি MongoDB তে একটি ডকুমেন্ট মুছে ফেলার জন্য ব্যবহৃত হয়।Filters.eq("name", "John")মেথড দ্বারাnameফিল্ডে "John" থাকা ডকুমেন্টটি নির্বাচন করা হয় এবং তারপর মুছে ফেলা হয়।
MongoDB CRUD অপারেশনের সুবিধা:
- Scalability:
- MongoDB খুব সহজে স্কেল করা যায়, এবং horizontal scaling (sharding) ব্যবহার করে খুব বড় ডেটাবেস ম্যানেজ করা সম্ভব।
- Flexibility:
- MongoDB ডকুমেন্ট-ভিত্তিক ডাটাবেস হওয়ায় schema-less। এটি দ্রুত পরিবর্তিত ডেটা মডেল হ্যান্ডল করার জন্য উপযুক্ত।
- High Performance:
- MongoDB দ্রুত পারফরম্যান্স প্রদান করে, কারণ এটি ইনডেক্সিং এবং in-memory caching সমর্থন করে।
- Aggregation:
- MongoDB শক্তিশালী aggregation framework প্রদান করে যা কনপ্লেক্স ডেটা কুয়েরি এবং প্রসেসিং সহজ করে।
MongoDB এর CRUD অপারেশন হল MongoDB তে ডেটা তৈরি, পড়া, আপডেট এবং মুছে ফেলার মৌলিক কার্যক্রম। MongoDB তে insertOne(), find(), updateOne(), deleteOne() মেথডগুলো ব্যবহার করে আপনি MongoDB তে ডেটা পরিচালনা করতে পারেন। MongoDB এর document-based সিস্টেম, flexibility, scalability, এবং performance এর কারণে এটি একটি জনপ্রিয় NoSQL ডাটাবেস হিসেবে ব্যবহৃত হয়।
Read more